package com.tedu.API.ee;

/**
 * 考试题: throw与throws的区别:
 * 异常关键字: throw---主动抛出异常
 *           语法:定义在方法体当中，如果执行throw一定会抛出异常对象RunTimeException
 *               指定主动抛出异常对象名字
 *               throw new RunTimeException()
 *           特点:定义一个异常，原因(程序不合理)
 *           throws---抛出异常不解决   【被动抛出异常】
 *           语法: 定义在单元方法和"主方法"后面，异常对象名称，多个异常对象逗号分隔
 *           throws IOException,Exception
 *           特点:抛出后存在较大异常，小异常去掉，包括小异常!
 *               抛出异常都是同等级: 小异常(常见)
 *
 * RunTimeException(运行期异常): ①主动产生异常
 *                             ②控制台产生异常
 */
public class Person {
    /*@Test
    public void test01() throws FileNotFoundException,UnsupportedEncodingException {
        FileInputStream fis=new FileInputStream("");
       // fis.read();
    }*/
    private int age; //私有属性

    public int getAge(){
        return age;
    }

    public void setAge(int age){ //设置年龄:0~120岁，主动抛出异常
        if(age<0|| age>120){  //如果: 人 年龄超出 0~120 之间----主动抛出异常【true】
            throw new RuntimeException("年龄不合规~~");
        }
        this.age=age;
    }

    public static void main(String[] args) {
        Person p=new Person();
        p.setAge(120);
        System.out.println("我的年龄是: "+p.getAge()+"岁");
    }
}
